﻿using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;

namespace SOM.Interfaces.Objects
{
  [GuidAttribute("E884A0DD-61ED-4078-957E-F9BC490A99F1"), InterfaceTypeAttribute(ComInterfaceType.InterfaceIsDual)]
  public interface IOpening 
  {
    void LoadOpening(int OpeningID);

    void SendToDatabase(string server, string table, string SchemeFilePath = "");
    void GetFromDatabase(string server, int ID, string table, string SchemeFilePath = "");

    bool Delete();
    bool Place(ref SOM.Helper.Types.Point3d Origin);

    object GetCustomAttribute(string AttributeName, SOM.Helper.enums.ReturnType ReturnType, out int iRet);

    int ID { get; set; }
    SOM.Helper.enums.subType SubType { get; set; }
    int WallID { get; set; }
    SOM.Helper.Types.Point3d StartPoint { get; set; }
    double ParapetHeight { get; set; }
    double Angle { get; set; }
    double Width { get; set; }
    double Height { get; set; }
    double Depht { get; set; }
    double A_OFFSET_TOP { get; set; }
    double A_THERMAL_TRANSMITTANCE { get; set; }

    int A_CONNECT { get; set; }
    int A_CONSTRUCTION { get; set; }
    int A_DOOR_TYPE { get; set; }
    int A_ELEMENT_MAC_HOLE_CLOSURE_BYMACRO { get; set; }
    int A_ELEMENT_MAC_HOLE_ELEV_BYMACRO { get; set; }
    int A_ELEMENT_USER_NUMBER { get; set; }
    int A_LEVELID_BOTTOM_DIM { get; set; }
    int A_LEVELID_TOP { get; set; }
    int A_LEVELID_TOP_DIM { get; set; }
    int A_OFFSET_TOP_LOCK { get; set; }
    int A_POSITIONING_TYPE { get; set; }
    int A_SECTION_MODE { get; set; }
    int A_SOUND_REDUCTION { get; set; }

    string A_CATEGORY { get; set; }
    string A_ELEMENTCODE { get; set; }
    string A_ELEMENTDESC { get; set; }
    string A_FIRECLASS { get; set; }
    string A_MACRONAME { get; set; }
    string A_PROTOTYPE { get; set; }


  }
}
